!insertmacro SectionFlagIsSet ${SYSTEMFILES} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${SYSTEMFILES} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${EXTRAS} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${EXTRAS} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${SKINS} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${SKINS} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${TWEAKS} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${TWEAKS} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${SOFTWARE} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${SOFTWARE} ${SF_PSELECTED} END ""
MessageBox MB_OK|MB_ICONEXCLAMATION "You did not select any items. Please look through the options and choose what you would like to install." /SD IDOK
MessageBox MB_OK|MB_ICONEXCLAMATION "The 'Remove Uninstaller and Backup Files' item must be uninstalled separately.$\nPlease unselect this item or unselect all other items to proceed." /SD IDOK
Abort
NOREMOVEUNINSTALLER:
!insertmacro SectionFlagIsSet ${un.SYSTEMFILES} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${un.SYSTEMFILES} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${un.EXTRAS} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${un.EXTRAS} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${un.SKINS} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${un.SKINS} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${un.SOFTWARE} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${un.SOFTWARE} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${un.TWEAKS} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${un.TWEAKS} ${SF_PSELECTED} END ""
!insertmacro SectionFlagIsSet ${un.EXTRAOPTIONS} ${SF_SELECTED} END ""
!insertmacro SectionFlagIsSet ${un.EXTRAOPTIONS} ${SF_PSELECTED} END ""
MessageBox MB_OK|MB_ICONEXCLAMATION "You did not select any items. Please look through the options and choose what you would like to uninstall." /SD IDOK
Abort
END:
FunctionEnd
!macroend
!insertmacro un.CheckForSelections "un."
#==========================================
# ALLOW ONLY ONE INSTALLER INSTANCE
#==========================================
!macro OneInstance UN
Function "${UN}OneInstance"
System::Call "kernel32::CreateMutexA(i 0, i 0, t '${PRODUCT_NAME}') i .r0 ?e"
Pop $0
StrCmp $0 0 LAUNCH
StrLen $0 "$(^Name)"
IntOp $0 $0 + 1
LOOP:
FindWindow $1 '#32770' '' 0 $1
IntCmp $1 0 +4
System::Call "user32::GetWindowText(i r1, t .r2, i r0) i."